home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Bank smakow / BankSmakow.air / BankSmakow.swf / scripts / air / update / logging / Logger.as < prev   
Text File  |  2009-12-16  |  3KB  |  130 lines

  1. package air.update.logging
  2. {
  3.    import flash.filesystem.File;
  4.    import flash.filesystem.FileMode;
  5.    import flash.filesystem.FileStream;
  6.    import flash.utils.Dictionary;
  7.    
  8.    public class Logger
  9.    {
  10.       
  11.       private static var loggers:Dictionary = new Dictionary();
  12.       
  13.       private static var _level:int = Level.OFF;
  14.        
  15.       
  16.       private var name:String = "";
  17.       
  18.       public function Logger(param1:String)
  19.       {
  20.          super();
  21.          this.name = param1;
  22.       }
  23.       
  24.       public static function get level() : int
  25.       {
  26.          return _level;
  27.       }
  28.       
  29.       public static function getLogger(param1:String) : Logger
  30.       {
  31.          if(!loggers[param1])
  32.          {
  33.             return new Logger(param1);
  34.          }
  35.          return loggers[param1];
  36.       }
  37.       
  38.       public static function set level(param1:int) : void
  39.       {
  40.          _level = param1;
  41.       }
  42.       
  43.       public function config(... rest) : void
  44.       {
  45.          log(Level.CONFIG,rest);
  46.       }
  47.       
  48.       public function log(param1:int, ... rest) : void
  49.       {
  50.          var file:File = null;
  51.          var fs:FileStream = null;
  52.          var logLevel:int = param1;
  53.          var arguments:Array = rest;
  54.          if(!isLoggable(logLevel))
  55.          {
  56.             return;
  57.          }
  58.          var s:String = format(logLevel,arguments);
  59.          trace(s);
  60.          try
  61.          {
  62.             file = new File(File.documentsDirectory.nativePath + "/../.airappupdater.log");
  63.             if(file.exists)
  64.             {
  65.                fs = new FileStream();
  66.                fs.open(file,FileMode.APPEND);
  67.                fs.writeUTFBytes(s + "\n");
  68.                fs.close();
  69.             }
  70.          }
  71.          catch(e:Error)
  72.          {
  73.          }
  74.       }
  75.       
  76.       public function isLoggable(param1:int) : Boolean
  77.       {
  78.          return param1 >= level;
  79.       }
  80.       
  81.       public function info(... rest) : void
  82.       {
  83.          log(Level.INFO,rest);
  84.       }
  85.       
  86.       public function severe(... rest) : void
  87.       {
  88.          log(Level.SEVERE,rest);
  89.       }
  90.       
  91.       private function format(param1:int, ... rest) : String
  92.       {
  93.          var _loc3_:Date = new Date();
  94.          var _loc4_:String = _loc3_.fullYear + "/" + _loc3_.month + "/" + _loc3_.day + " " + _loc3_.hours + ":" + _loc3_.minutes + ":" + _loc3_.seconds + "." + _loc3_.milliseconds;
  95.          var _loc5_:* = _loc3_ + " | " + name + " | [" + Level.getName(param1) + "] ";
  96.          if(rest == null)
  97.          {
  98.             return _loc5_;
  99.          }
  100.          var _loc6_:int = 0;
  101.          while(_loc6_ < rest.length)
  102.          {
  103.             _loc5_ += (_loc6_ > 0 ? "," : "") + (rest[_loc6_] != null ? rest[_loc6_].toString() : "null");
  104.             _loc6_++;
  105.          }
  106.          return _loc5_;
  107.       }
  108.       
  109.       public function finer(... rest) : void
  110.       {
  111.          log(Level.FINER,rest);
  112.       }
  113.       
  114.       public function fine(... rest) : void
  115.       {
  116.          log(Level.FINE,rest);
  117.       }
  118.       
  119.       public function finest(... rest) : void
  120.       {
  121.          log(Level.FINEST,rest);
  122.       }
  123.       
  124.       public function warning(... rest) : void
  125.       {
  126.          log(Level.WARNING,rest);
  127.       }
  128.    }
  129. }
  130.